/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Tier2;

import java.util.ArrayList;
import shared.*;
import java.rmi.RemoteException;
import java.util.Random;

/**
 *
 * @author ThorNass
 */
public class ServiceJeuImpl extends Thread implements ServiceJeu{

    private ArrayList<Partie> _parties = new ArrayList<Partie>();
    private ArrayList<Joueur> _joueurs = new ArrayList<Joueur>();
    
    public void run(){
                boolean fin = false;
                while(!fin){
                        Random r = new Random();
                        long Randval = 0 + r.nextInt(7000 - 0); 
                        long timeout = 3000+ Randval;
                        try {
                                sleep(timeout);
                        } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }

                }
        }

    public ArrayList<Partie> getParties() throws RemoteException{ 
        return _parties; 
    }
    
    public ArrayList<Joueur> getJoueurs() throws RemoteException{ 
        return _joueurs; 
    }
   
    /*
     * les fonctions en TODO ne sont pas sp�cifi�es ailleurs pour l'instant
     * (ORB_PartyManager/ORB_PartyManager.idl, RMI_PartyManager/PartyManager.java, PartyManagerImpl.IIOP, PartyManagerImpl.RMI)
     */
   
    //methode creerPartie
    public void createParty() throws RemoteException{ 
        
    }
   
    //top joueurs + position du player
    public ArrayList<Joueur> getClassement(Joueur joueur) throws RemoteException{ 
        return null; 
    }
   
    //scores des joueurs
    public ArrayList<Partie> getScores(Joueur joueur) throws RemoteException{ 
        return null; 
    }
   
    //authenfication du joueur
    public boolean login(Joueur joueur) throws RemoteException{ 
        return false; 
    }
   
    //deconnection du joueur
    public void logout(Joueur joueur) throws RemoteException{ 
        
    }
   
    //nouveau compte
    public boolean creerCompte(Joueur nom) throws RemoteException{ 
        boolean compte = false;
                if (!_joueurs.contains(nom)) {
                        _joueurs.add(nom);
                        compte = true;
                }
                return compte;
    }

        @Override
        public void connexion(Joueur user) throws RemoteException{
                // TODO Auto-generated method stub
                System.out.println("Méthode connexion");
        }

        @Override
        public String exemple() throws RemoteException {
                // TODO Auto-generated method stub
                return null;
        }
   
    
}
